package com.wondertek.poms.setting.vo;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.groups.Default;

import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.Range;

import com.wondertek.poms.common.utils.validate.GroupType;

import lombok.Data;

/**
 * <p><b>SystemConfigVo Description:</b> SystemConfigVo类  对应 system_config-系统配置表 系统配置表 表</p>
 * @author 窦再兴
 * <p><b>DATE</b> 2020-03-02 18:14:16</p>
 */
 @Data
public class SystemConfigVo {
	
	/**
	 * <b>Fields</b> id : 主键ID
	 */
	@NotNull(message = "id不能为空", groups = {GroupType.Update.class})
	private Long id;
	
	/**
	 * <b>Fields</b> ckey : 参数
	 */
	@NotBlank(message = "参数不能为空", groups = {Default.class, GroupType.Update.class})
	@Length(message = "参数长度不能超过255个字节", max=255, groups = {Default.class, GroupType.Update.class})
	private String ckey;
	
	/**
	 * <b>Fields</b> value : 值
	 */
	@NotBlank(message = "值不能为空", groups = {Default.class, GroupType.Update.class})
	@Length(message = "值长度不能超过512个字节", max=512, groups = {Default.class, GroupType.Update.class})
	private String value;
	
	/**
	 * <b>Fields</b> description : 描述
	 */
//	@NotBlank(message = "描述不能为空", groups = {Default.class})
	@Length(message = "描述长度不能超过512个字节", max=512, groups = {Default.class, GroupType.Update.class})
	private String description;
	
	/**
	 * <b>Fields</b> createdBy : 创建人
	 */
	@Length(message = "创建人长度不能超过64个字节", max=64, groups = {Default.class, GroupType.Update.class})
	private String createdBy;
	
	/**
	 * <b>Fields</b> createdTime : 创建时间
	 */
	@Length(message = "创建时间长度不能超过25个字节", max=25, groups = {Default.class, GroupType.Update.class})
	private String createdTime;
	
	/**
	 * <b>Fields</b> updatedBy : 更新人
	 */
	@Length(message = "更新人长度不能超过64个字节", max=64, groups = {Default.class, GroupType.Update.class})
	private String updatedBy;
	
	/**
	 * <b>Fields</b> updatedTime : 更新时间
	 */
	@Length(message = "更新时间长度不能超过25个字节", max=25, groups = {Default.class, GroupType.Update.class})
	private String updatedTime;
	
	/**
	 * <b>Fields</b> remarks : 备注
	 */
	@Length(message = "备注长度不能超过512个字节", max=512, groups = {Default.class, GroupType.Update.class})
	private String remarks;
	
	/**
	 * <b>Fields</b> del : 是否删除 1:是 0:否
	 */
	@Range(message = "是否删除 1:是 0:否的范围是[0-1]", min=0, max=1, groups = {Default.class, GroupType.Update.class})
	private Integer del;
}